#!/bin/bash

echo "启动游戏自动化Docker容器..."

# 清理可能存在的Xvfb锁文件
rm -f /tmp/.X99-lock

# 启动Xvfb虚拟显示器
echo "启动Xvfb虚拟显示器..."
Xvfb :99 -screen 0 1920x1080x24 &
sleep 2

# 启动Fluxbox窗口管理器
echo "启动Fluxbox窗口管理器..."
fluxbox -display :99 &
sleep 1

# 启动VNC服务器
echo "启动VNC服务器，端口: ${VNC_PORT:-5900}..."
x11vnc -display :99 -forever -nopw -shared -rfbport ${VNC_PORT:-5900} &

# 初始化Wine环境
echo "初始化Wine环境..."
export WINEPREFIX=/app/.wine
export WINEARCH=win32

if [ ! -d "$WINEPREFIX" ]; then
    echo "首次运行，配置Wine环境..."
    wineboot --init
    # 设置Windows版本为Windows 10（无GUI模式）
    echo "设置Wine为Windows 10..."
    winetricks -q win10 || echo "Wine设置跳过"
fi

# 设置音频
echo "配置音频..."
pulseaudio --start --verbose || echo "音频配置跳过"

# 等待服务启动
sleep 2

echo "容器初始化完成！"
echo "Display: :99"
echo "VNC端口: ${VNC_PORT:-5900}"
echo "游戏目录: /app/games"
echo "截图目录: /app/screenshots"
echo "日志目录: /app/logs"

# 启动游戏自动化程序
echo "启动游戏自动化程序..."
cd /app
java -jar app.jar

# 保持容器运行
tail -f /dev/null 